#!/bin/bash
#一个for循环1000次，循环体里面的每个任务都放入后台运行

start=`date +%s` #定义脚本运行的开始时间

for ((i=1;i<=300;i++))
do
{
        sleep 1  #sleep 1用来模仿执行一条命令需要花费的时间（可以用真实命令来代替）
        echo 'success'$i;
 }&              #用{}把循环体括起来，后加一个&符号，代表每次循环都把命令放入后台运行
                 #一旦放入后台，就意味着{}里面的命令交给操作系统的一个线程处理了
                 #循环了1000次，就有1000个&把任务放入后台，操作系统会并发1000个线程来处理这些任务
done
wait             #wait命令的意思是，等待（wait命令）上面的命令（放入后台的）都执行完毕了再往下执行
                 #在这里写wait是因为，一条命令一旦被放入后台后，这条任务就交给了操作系统
                 #shell脚本会继续往下运行（也就是说：shell脚本里面一旦碰到&符号就只管把它
                 #前面的命令放入后台就算完成任务了，具体执行交给操作系统去做，脚本会继续
                 #往下执行），所以要在这个位置加上wait命令，等待操作系统执行完所有后台命令
end=`date +%s`  #定义脚本运行的结束时间

echo "TIME:`expr $end - $start`"